Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


In looking at the server’s performance, you want the RDBMS processing to be a CPU-bound task. If disk access performance is a problem, you may be able to solve the problem by increasing the amount of memory in the system or by adding more disks (as you see later in this book). Because RDBMS processing is a CPU-intensive task, make sure that no other components in the system are holding back the CPUs.


TIP:  Another important factor for all servers is their ability to perform backups in a reasonable time. Every system should have a good backup and recovery plan that is executed efficiently. If your system fails, it is only as good as its last backup.

Here are the attributes of a good-performing server:

  RDBMS processing is not bound by disk, memory, or network components
  Good throughput and response times are maintained
  The ability to perform backups within a specified time window

Of course, all installations are unique. You may have different criteria for what is important.

The Network

The network is defined as the theological and physical connections between the client and server machines. These connections include not only the wire, the network cards, and routers, but the TCP/IP, SPX, and SQL*Net components as well. The collection of all these components is necessary to connect clients and servers.

The network is typically described as one of those things that is ignored unless there is a problem with it—and I agree with this assessment. Network components should be configured and maintained with enough capacity that there are no tuning concerns with them. The design of the system should provide for enough capacity to handle peak as well as normal traffic; it should also make considerations for capacity growth.

If you exceed the capacity of your network, you will see significant performance degradation in both throughput and response time. It is a good idea to keep an eye on your network traffic and try to avoid problems before they occur.

Your network should also consider delays incurred through routing and bridging to other networks. These delays—although typically insignificant—can become a problem if they are not managed effectively. These factors should be considered during the design phase.

Client/Server Checklist

In a client/server system, each component is important and affects the performance of the entire system. Response time delays can occur in the client, the server, or the network. Each component should be configured and tuned for both response time and throughput.

Here is a short checklist of items that may indicate whether you have a well-tuned system:

  Do you have good response times? If not, is the problem in the client, the server, or the network?
  Can the server effectively service the number of clients required?
  Are the users satisfied with the performance of the system?
  Are time-critical tasks such as backup and loading being accomplished within the required time intervals?
  Is the system disk bound?
  Is the system network bound?

This book will help you determine whether any of these items are problems; if they are, you will learn how to fix them.

Host-Based Computing

Until recently, almost all applications were host based. Today, most applications still use terminals or PC terminal emulators as the display devices. It is not feasible or cost effective to migrate many applications to client/server systems just to make them client/server applications. As with client/server applications, you must ensure that both the front-end and the RDBMS are both working effectively if you are to have a good-performing system.

The Front-End Application

Unlike the client/server configuration, the terminal-based application does not have to worry about effectively sizing the client computer. Terminal applications more strongly emphasize tuning the application code for efficiency because they don’t usually have excess CPU power and memory resources (as is the case with some clients). Terminal-based applications must also consider that they share CPU processing and memory with other users on the system. Any waste in CPU cycles and memory usage is compounded by the number of users sharing the application.

As with client/server applications, make sure that the terminal-based application does not spend too much time formatting and presenting the data. Even in terminal-based systems, inefficient coding can add seconds to the time it takes to present the data. Consider offloading some of the terminal processing to other devices such as a terminal server or a smart terminal controller. Keep in mind that every inefficient statement you optimize has an effect that is multiplied by the number of users on the system.

The Database

Typically, host-based configurations—as well as client/server configurations—should be tuned for maximum throughput with a consideration for response times.

In terminal-based configurations, as in client/server configurations, it is the job of the RDBMS engine to process the data as quickly and efficiently as possible and to pass this data back to the user. Although the computer is responsible for both database processing and presentation services, throughput is typically the most important factor. Throughput is important because there are many users to service; reducing response time for a particular user may not serve the needs of the entire user community effectively.

A well-performing system provides both good response times for the users and good throughput for the entire user community. You must ensure that a single user process does not excessively burden the system at the expense of other users. System administrators may choose to tune the system for OLTP users or for other tasks such as backup/restore, loading of data, or decision support tasks.

In looking at the system’s performance, you want the RDBMS processing and the screen handling to be CPU-bound tasks. If disk throughput is a problem, that can easily be solved. Because RDBMS processing is a CPU-intensive task, make sure that no other components in the system are holding back the CPUs.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.